home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 22 / Amiga Format AFCD22 (Jan 1998, Issue 106).iso / -seriously_amiga- / shareware / misc / aview / install / aview.install next >
Text File  |  1997-11-05  |  16KB  |  484 lines

  1. ; $VER: AView.install 1.00 (02.09.96)
  2. ; Install script for AFind (Workbench 2.0 or higher)
  3. ;
  4. (COMPLETE 0)
  5. ;(USER 2)
  6. (SET #ApplicationName "AView")
  7. (SET #ApplicationDir "sys:tools/")
  8. ;(SET #ApplicationDir "ram:")
  9. (SET #ArchiveDir "/")
  10. (SET #Language -1)
  11. (SET #Documents -1)
  12. (SET #ApplicationKeyfile (CAT #ApplicationName ".key"))
  13.  
  14. ;=============================================================================
  15. ; German strings
  16.  
  17. (IF (= @language "deutsch")
  18. (
  19. (SET default_lang 2)
  20.  
  21. (SET #bad-kick "Sie benötigen Workbench 2.0 oder größer")
  22. (SET #bad-installer
  23. (CAT "Achtung! Es ist eine alte Version des Programmes 'Installer' "
  24.      "auf Ihrem Amiga!\n\nDie Installation benötigt mindestens Installer 42.9.\n\n"
  25.      "Bitte überprüfen Sie Ihre Konfiguration!\n"
  26.      "Wenn Sie fortfahren, wird eine Vollinstallation vorgenommen, das heißt\n"
  27.      "es werden alle Kataloge,Anleitungen und die OS2.0+ Version installiert.\n"
  28.      "%s ist auch dann voll einsatzfähig!"
  29. ))
  30.  
  31. (SET #App-InstallMsg
  32. (CAT "\n\%s Installationsskript.\n"
  33.         "Dieses Skript installiert %s auf Ihrem Amiga.\n\n"
  34.         "Lesen Sie das Anleitungs-File für weitere Informationen\n"
  35.         " über den Vertrieb von %s.\n\n"
  36.         "%s © 1995-96 Guido Mersmann\n"
  37.         "All Rechte reserviert."
  38. ))
  39.  
  40. (SET #App-Where
  41. (CAT "Wo möchten Sie %s installieren ?\n"
  42.         "(Ein Verzeichnis wird angelegt)"
  43. ))
  44.  
  45. (SET #App-Update
  46. (CAT "\nEin %s-Verzeichnis existiert im ausgewählen"
  47.         " Verzeichnis. Wenn Sie fortfahren,"
  48.         " bestätigen Sie, daß Sie die alte %s-Installation"
  49.         " mit der neuesten Version updaten wollen.\n"
  50.         "Verschiedene %s-Dateien (z.B Prefs) werden falls nötig überschrieben!"
  51. ))
  52.  
  53. (SET #App-Main "Welche Version von %s möchten Sie installieren?")
  54. (SET #App-Main-help
  55. (CAT "Die OS2.0+ Version läuft unter allen Systemen ab OS2.0."
  56.      " Die OS2.1+ Version hat den Nutzen, daß sie weniger Resourcen"
  57.      " benutzt, wenn sich %s im Hintergrund befindet. Dazu MUß"
  58.      " die Locale.library eingebunden sein. Für die OS3.0+ gilt das selbe"
  59.      " wie für die OS2.1 Verison. Es werden OS3.0+ Routinen benutzt, die"
  60.      " weiteren Speicher sparen."
  61. ))
  62.  
  63. (SET #App-Language "Welche Sprachen sollen installiert werden ?")
  64.  
  65. (SET #App-Language-help
  66. (CAT "\nDer Amiga kann in vielen verschiedenen Sprachen"
  67.          " arbeiten. Um Plattenkapazität zu sparen können Sie"
  68.          " nur die Sprachen anwählen, die sie benötigen"
  69.          " Haken Sie also einfach die Sprachen ab, die Sie"
  70.          " Ihrem System zugänglich machen wollen."
  71.           @askoptions-help
  72. ))
  73.  
  74. (SET #App-Docs "Welche Anleitungs- und Informationsdateien wollen Sie installieren ?")
  75.  
  76. (SET #startup-prompt    "Jetzt werden für %s folgende Eintragungen in die S:User-Startup gemacht:\n\n%s")
  77.  
  78.  
  79. (SET #App-Exit "\n%s installiert !!")
  80.  
  81.  
  82. ))
  83.  
  84. ;=============================================================================
  85. ; English strings
  86.  
  87. (IF (<> @language "deutsch")
  88. (
  89. (SET default_lang 4)
  90.  
  91. (SET #bad-kick "You must have at least Workbench 2.0+")
  92. (SET #bad-installer
  93. (CAT "You have an old version of the program 'Installer' "
  94.      "on your Amiga!\n\nThe installation procedure needs at least Installer 42.9.\n\n"
  95.      "Please check your configuration!\n\n"
  96.      "If you proceed the whole archive will be installed.\n"
  97.      "%s will work without any restrictions!"
  98. ))
  99.  
  100. (SET #App-InstallMsg
  101. (CAT "\n\%s installation script.\n"
  102.         "This script installs %s on your Amiga.\n\n"
  103.         "Read the DOK-file for more information\n"
  104.         " on the distribution of %s.\n\n"
  105.         "%s © 1995-96 Guido Mersmann\n"
  106.         "All rights reserved."
  107. ))
  108.  
  109. (SET #App-Where
  110. (CAT "Where would you like to install %s ?\n"
  111.         "(A drawer will be created)"
  112. ))
  113.  
  114. (SET #App-Update
  115. (CAT "\nA %s drawer does already exist in the selected "
  116.         " directory. By selecting \"Proceed\", you"
  117.         " indicate that you want to update the %s"
  118.         " installation with the most recent version.\n"
  119.         "Several %s specific files will be overwritten!"
  120. ))
  121.  
  122. (SET #App-Main "Which %s version should be installed ?")
  123. (SET #App-Main-help
  124. (CAT "The OS2.0+ version should only be used on Systems with OS2."
  125.      " The OS2.1+ and the OS3.0+ version need less Memory. Locale is required!"
  126.      " Special OS3.0+ functions are used to save more memory."
  127. ))
  128.  
  129. (SET #App-Language "Which languages should be installed ?")
  130. (SET #App-Language-help
  131. (CAT "\nThe Amiga can be operated in many different"
  132.           " languages."
  133.           "To reduce the amount of space consumed by the"
  134.           " language files, you can select to have only the"
  135.           " files of specific languages copied.\n\n"
  136.           "Simply check the boxes of the languages you wish"
  137.           " to have available on your system.\n\n"
  138.           @askoptions-help
  139. ))
  140.  
  141. (SET #App-Docs "Which Amiga-guide files should be installed ?")
  142.  
  143. (SET #startup-prompt    "Some lines need to be added to S:User-Startup for %s\n\n%s")
  144.  
  145. (SET #App-Exit "\n%s installed !!")
  146.  
  147.  
  148. ))
  149. ;----------------------------------------------------------------------------
  150. ;----------------------------------------------------------------------------
  151. ;    P_Requirements
  152. ;----------------------------------------------------------------------------
  153. ;----------------------------------------------------------------------------
  154. (PROCEDURE P_Requirements
  155. ; Workbench 37 or better required
  156. (IF (< (/ (getversion) 65536) 37)
  157. (
  158.   (abort #bad-kick)
  159. )
  160. )
  161. ; Installer 42.9 or better required
  162. (if (< @installer-version 2752521)
  163.   (
  164. (user 2)
  165.     (message (#bad-installer #ApplicationName))
  166.     (welcome)
  167.  
  168. ;---- Simple Copy all ask
  169. (SET #ApplicationDir
  170.         (TACKON
  171.                 (ASKDIR
  172.                         (PROMPT (#App-Where #ApplicationName))
  173.                         (HELP @askdir-help)
  174.                         (default #ApplicationDir)
  175.                 )
  176.                 #ApplicationName
  177.         )
  178. )
  179. (MAKEDIR #ApplicationDir (INFOS))
  180. (MAKEDIR (TACKON #ApplicationDir "Prefs"))
  181.                    (COPYFILES
  182.     (SOURCE "/")
  183.     (DEST #ApplicationDir)
  184.     (HELP @copyfiles-help)
  185.     (OPTIONAL <force>)
  186.     (ALL)
  187.     (INFOS)
  188.                    )
  189. (STARTUP #ApplicationName
  190.      (SET #dummy (cat "Path add Path " #ApplicationDir))
  191.       (HELP @startup-help)
  192.       (PROMPT (#startup-prompt #ApplicationName #dummy))
  193.       (COMMAND #dummy)
  194. )
  195.     (exit (quiet))
  196.   )
  197. )
  198. ) ;PROCEDURE
  199. ;----------------------------------------------------------------------------
  200. ;----------------------------------------------------------------------------
  201. ;    Ask for Catalogs
  202. ;----------------------------------------------------------------------------
  203. ;----------------------------------------------------------------------------
  204. (PROCEDURE P_AskCatalogs #Language
  205.  
  206. (SET #Dummy     (ASKOPTIONS
  207.                 (PROMPT #App-Language)
  208.                 (HELP #App-Language-help)
  209.                 (CHOICES
  210.                         "English"
  211.                         "Deutsch"
  212.                         "Français")
  213.                 (DEFAULT #Language)
  214.         )
  215. )
  216. ) ;PROCEDURE
  217. ;----------------------------------------------------------------------------
  218. ;----------------------------------------------------------------------------
  219. ;    Copy Selected Catalogs
  220. ;----------------------------------------------------------------------------
  221. ;----------------------------------------------------------------------------
  222. (PROCEDURE P_CopyCatalogs #Language
  223. (SET n 0)
  224. (SET #DestinationRoot (TACKON #ApplicationDir "Catalogs"))
  225. (SET #SourceRoot (TACKON #ArchiveDir "Catalogs"))
  226. (MAKEDIR #DestinationRoot)
  227.  
  228. (while (< n 3)
  229.         (SET #Dummy (SELECT n "english" "deutsch" "français"))
  230.         (
  231.                 (IF (IN #Language n)
  232.                 (
  233.     (MAKEDIR (TACKON #DestinationRoot #Dummy))
  234.                         (COPYFILES
  235.                                 (SOURCE (TACKON #SourceRoot #Dummy))
  236.                                 (DEST (TACKON #DestinationRoot #Dummy))
  237.                                 (HELP @copyfiles-help)
  238.                                 (ALL)
  239.                         )
  240.                 )
  241.                 )
  242.         )
  243. (SET n (+ n 1))
  244. )
  245. ) ;PROCEDURE
  246. ;----------------------------------------------------------------------------
  247. ;----------------------------------------------------------------------------
  248. ;    Ask for docs
  249. ;----------------------------------------------------------------------------
  250. ;----------------------------------------------------------------------------
  251. (PROCEDURE P_AskDocs #Documents
  252. (SET #Dummy             (ASKOPTIONS
  253.                         (PROMPT #App-Docs)
  254.                         (HELP @askoptions-help)
  255.                         (CHOICES
  256.                         "english"
  257.                         "deutsch"
  258.                         )
  259.                         (DEFAULT #Documents)
  260.                   )
  261. )
  262. ) ;PROCEDURE
  263. ;----------------------------------------------------------------------------
  264. ;----------------------------------------------------------------------------
  265. ;    Copy docs
  266. ;----------------------------------------------------------------------------
  267. ;----------------------------------------------------------------------------
  268. (PROCEDURE P_CopyDocs #Documents
  269. (SET n 0)
  270. (SET #DestinationRoot (TACKON #ApplicationDir "Docs"))
  271. (SET #SourceRoot (TACKON #ArchiveDir "Docs"))
  272. (MAKEDIR #DestinationRoot)
  273.  
  274. (while (< n 2)
  275.         (SET #Dummy (SELECT n
  276.         "english"
  277.         "deutsch"
  278.     )
  279.         )
  280.         (
  281.                 (IF (IN #Documents n)
  282.                 (
  283.     (MAKEDIR (TACKON #DestinationRoot #Dummy))
  284.                         (COPYFILES
  285.                                 (SOURCE (TACKON #SourceRoot #Dummy))
  286.                                 (DEST (TACKON #DestinationRoot #Dummy))
  287.                                 (HELP @copyfiles-help)
  288.                                 (INFOS)
  289.                                 (ALL)
  290.                         )
  291.                 )
  292.                 )
  293.         )
  294. (SET n (+ n 1))
  295. )
  296. ) ;PROCEDURE
  297. ;----------------------------------------------------------------------------
  298. ;----------------------------------------------------------------------------
  299. ;    Copy_Dir (Dir)
  300. ;----------------------------------------------------------------------------
  301. ;----------------------------------------------------------------------------
  302. (PROCEDURE P_CopyDir #Dummy
  303.  
  304. (SET #DestinationRoot (TACKON #ApplicationDir #Dummy))
  305. (SET #SourceRoot (TACKON #ArchiveDir #Dummy))
  306. (MAKEDIR #DestinationRoot)
  307.  
  308.                    (COPYFILES
  309.     (SOURCE #SourceRoot)
  310.     (DEST #DestinationRoot)
  311.     (HELP @copyfiles-help)
  312.     (OPTIONAL <force>)
  313.     (ALL)
  314.     (INFOS)
  315.                    )
  316. ) ;PROCEDURE
  317. ;----------------------------------------------------------------------------
  318. ;----------------------------------------------------------------------------
  319. ;    Copy_File (Name)
  320. ;----------------------------------------------------------------------------
  321. ;----------------------------------------------------------------------------
  322. (PROCEDURE P_CopyFile #Dummy
  323.  
  324. (if (<> (exists (TACKON #ArchiveDir #Dummy) (noreq)) 0) 
  325. (
  326.                    (COPYFILES
  327.     (SOURCE (TACKON #ArchiveDir #Dummy))
  328.     (DEST #ApplicationDir)
  329.     (HELP @copyfiles-help)
  330.     (OPTIONAL <force>)
  331.     (ALL)
  332.     (INFOS)
  333.                    )
  334. )
  335. ) ;If
  336. ) ;PROCEDURE
  337. ;----------------------------------------------------------------------------
  338. ;----------------------------------------------------------------------------
  339. ;    GetApplicationDir
  340. ;----------------------------------------------------------------------------
  341. ;----------------------------------------------------------------------------
  342. (PROCEDURE P_GetApplicationDir #Dummy
  343.  
  344. (SET #ApplicationDir
  345.         (TACKON
  346.                 (ASKDIR
  347.                         (PROMPT (#App-Where #ApplicationName))
  348.                         (HELP @askdir-help)
  349.                         (default #Dummy)
  350.                 )
  351.                 #ApplicationName
  352.         )
  353. )
  354. ) ;PROCEDURE
  355. ;----------------------------------------------------------------------------
  356. ;----------------------------------------------------------------------------
  357. ;    P_Update
  358. ;----------------------------------------------------------------------------
  359. ;----------------------------------------------------------------------------
  360. (PROCEDURE P_Update
  361. (if (= (exists #ApplicationDir) 2)
  362.         (message (#App-Update #ApplicationName #ApplicationName #ApplicationName))
  363. )
  364. ) ;PROCEDURE
  365. ;----------------------------------------------------------------------------
  366. ;----------------------------------------------------------------------------
  367. ;    P_AskBinary
  368. ;----------------------------------------------------------------------------
  369. ;----------------------------------------------------------------------------
  370. (PROCEDURE P_AskBinary
  371. (set #Dummy (/ (getversion) 65536))
  372.  
  373. (if (= #Dummy 37) (set #Binary 0))
  374. (if (= #Dummy 38) (set #Binary 1))
  375. (if (> #Dummy 38) (set #Binary 2))
  376.  
  377. (set #Binary (askchoice
  378.     (prompt (#App-Main #ApplicationName))
  379.     (help (#App-Main-help #ApplicationName))
  380.     (choices
  381.     "OS2.0+"
  382.                            "OS2.1+"
  383.                            "OS3.0+"
  384.                         )
  385.     (default #Binary)
  386.             )
  387. )
  388. ) ;PROCEDURE
  389. ;----------------------------------------------------------------------------
  390. ;----------------------------------------------------------------------------
  391. ;    P_CopyBinary
  392. ;----------------------------------------------------------------------------
  393. ;----------------------------------------------------------------------------
  394. (PROCEDURE P_CopyBinary #Dummy
  395.  
  396. (set #BinaryName (SELECT #Binary #Dummy (CAT "Bin/" #Dummy "_OS21") (CAT "Bin/" #Dummy "_OS30")))
  397. (copyfiles
  398.         (source (tackon #ArchiveDir #BinaryName) (infos))
  399.         (dest #ApplicationDir)
  400.         (newname #Dummy)
  401.         (help @copyfiles-help)
  402.         (optional <force>)
  403. )
  404. ) ;PROCEDURE
  405. ;----------------------------------------------------------------------------
  406. ;----------------------------------------------------------------------------
  407. ;    P_KeyFile
  408. ;----------------------------------------------------------------------------
  409. ;----------------------------------------------------------------------------
  410. (PROCEDURE P_KeyFile
  411.  
  412. (SET #Dummy (tackon (tackon #ArchiveDir "Keyfile") #ApplicationKeyfile))
  413.  
  414. (if (<> (exists #Dummy (noreq)) 0) ((P_CopyDir "KeyFile"))
  415. )
  416. ) ;PROCEDURE
  417. ;----------------------------------------------------------------------------
  418. ;----------------------------------------------------------------------------
  419. ;    P_CopyArchiveIcon
  420. ;----------------------------------------------------------------------------
  421. ;----------------------------------------------------------------------------
  422. (PROCEDURE P_CopyArchiveIcon
  423.                    (COPYFILES
  424.     (SOURCE (CAT (CAT (TACKON #ArchiveDir "/") #ApplicationName) ".info"))
  425.     (DEST (TACKON #ApplicationDir "/"))
  426.     (HELP @copyfiles-help)
  427.                    )
  428. ) ;PROCEDURE
  429. ;----------------------------------------------------------------------------
  430. ;----------------------------------------------------------------------------
  431. ;    MAIN
  432. ;----------------------------------------------------------------------------
  433. ;----------------------------------------------------------------------------
  434. (P_Requirements)
  435. (message (#App-installmsg #ApplicationName #ApplicationName #ApplicationName #ApplicationName))
  436. (welcome)
  437.  
  438.  (SET #ApplicationDir (P_GetApplicationDir #ApplicationDir))
  439.  
  440. (COMPLETE 1)
  441.  (P_Update)
  442.  (SET #Binary (P_AskBinary))
  443. (COMPLETE 2)
  444.  (SET #Language (P_AskCatalogs #Language))
  445. (COMPLETE 3)
  446.  (SET #Documents (P_AskDocs #Documents))
  447. (COMPLETE 4)
  448.  
  449. ;***** Delete old Data and Prefs
  450. (MAKEDIR #ApplicationDir)
  451. (MAKEDIR (TACKON #ApplicationDir "Prefs"))
  452.  
  453. (COMPLETE 10)
  454.  (P_CopyBinary #ApplicationName)
  455. (COMPLETE 20)
  456.  (P_CopyBinary "AViewPrefs")
  457. (COMPLETE 30)
  458.  (P_CopyCatalogs #Language)
  459. (COMPLETE 40)
  460.  (P_CopyDocs #Documents)
  461. (COMPLETE 60)
  462.  (P_CopyDir "Data")
  463.  (P_Keyfile)
  464. (COMPLETE 70)
  465.  (P_CopyArchiveIcon)
  466.  (P_CopyFile "AViewPrefs.info")
  467.  (P_CopyFile "Docs.info")
  468.  (P_CopyFile "Warning!!!")
  469.  (P_CopyFile "Warnung!!!")
  470. (COMPLETE 80)
  471. (STARTUP #ApplicationName
  472.      (SET #dummy (cat "Path add Path " #ApplicationDir))
  473.       (HELP @startup-help)
  474.       (PROMPT (#startup-prompt #ApplicationName #dummy))
  475.       (COMMAND #dummy)
  476. )
  477. (DELETE (TACKON #ApplicationDir "Data.info"))
  478.  
  479. (run "avail Flush")
  480.  
  481. (COMPLETE 100)
  482.  
  483. ;(exit #App-exit)
  484.